$(document).ready(inicio);

var app_path="../";

function changeFocus(targ){
	var inputs = $('#PacienteAddForm').eq(0).find(":input");
        var idx = inputs.index(targ);
		if (idx == inputs.length - 1) {
            inputs[0].select()
        } else {
            inputs[idx + 1].focus(); //  handles submit buttons
            try{
						inputs[idx + 1].select();	
					}
            catch(e){
				//Do nothing
			}
        }
}
			
function inicio(){
	$('#PacienteCodigoDepartamento').html("<option value=0>Elija una opción</option>"+$('#PacienteCodigoDepartamento').html());//Añadimos la opciòn por defecto al array que viene del controlador
	//Escondemos los campos de Hora
	$('#PacienteFechaDeNacimientoDelPacienteHour').hide();
	$('#PacienteFechaDeNacimientoDelPacienteMin').hide();
	$('#PacienteFechaDeNacimientoDelPacienteMeridian').hide();
	$('#Hora').hover( function(){$(this).addClass("ui-state-hover");},function(){$(this).removeClass("ui-state-hover");} )
	$('#Hora').click(function(){
		$(this).toggleClass('ui-state-active');
		$('#PacienteFechaDeNacimientoDelPacienteHour').toggle();
		$('#PacienteFechaDeNacimientoDelPacienteMin').toggle();
		$('#PacienteFechaDeNacimientoDelPacienteMeridian').toggle();
		
		}
	);
	$('#Hora').toggle(
			function(){
				$('#HoraText').html("Quitar hora");
			},
			function(){
				$('#HoraText').html("Añadir hora");
			}
	);
	$('#Hora').css('cursor','pointer');
	$('.condicion_final_data').hide(); //Por defecto hacer invisibles los campos necesarios en caso de muerte del paciente
	//Inicio de código basado en : http://www.techiegyan.com/?p=112
	$("input[name='data[Paciente][condicion_final]']").click( 
			function(){
				if($("input[name='data[Paciente][condicion_final]']:checked").val()==1){
					$('.condicion_final_data').hide();
				}
				else
				{
					$('.condicion_final_data').show();
				}
			}
	);
	//Fin de còdigo basado
	$('input,select').live("keypress", function(e) {
		
        /* ENTER PRESSED*/
        if (e.keyCode == 13) {
            /* FOCUS ELEMENT */
			changeFocus(this);
            e.preventDefault();
        }
	});
	//Autocompletado para ocupacion
	$('#PacienteNombreDeLaOcupacion').autocomplete({
		source: function(request, response) {
		$.ajax({
			url: app_path+"ocupacions/autoCompletar",
			type: "POST",
			dataType: "json",
			data: "data[nombre_de_la_ocupacion]="+request.term,
			success: function(data) {
			
				response($.map(data, function(item) {
					
					return {
						label: item.Ocupacion.nombre_de_la_ocupacion,
						value: item.Ocupacion.nombre_de_la_ocupacion,
						codigo : item.Ocupacion.ocupacion_id 
						}
					}));
				}
			});
		},
		change: function(event, ui) {
			if(ui.item==null){
				$('#PacienteOcupacionId').val(0);
			}
			else{
				$('#PacienteOcupacionId').val(ui.item.codigo);
			}
		}
		});
	//Autocompletado para Administrador de Servicios de Salud
	$('#PacienteNombreAdministradoraServiciosDeSalud').autocomplete({
		source: function(request, response) {
		$.ajax({
			url: app_path+"AdministradoraDeServiciosDeSaluds/autoCompletar",
			type: "POST",
			dataType: "json",
			data: "data[nombre_administradora_servicios_de_salud]="+request.term,
			success: function(data) {
			
				response($.map(data, function(item) {
					
					return {
						label: item.AdministradoraDeServiciosDeSalud.nombre_administradora_servicios_de_salud,
						value: item.AdministradoraDeServiciosDeSalud.nombre_administradora_servicios_de_salud,
						codigo : item.AdministradoraDeServiciosDeSalud.admin_de_serv_de_salud_id 
						}
					}));
				}
			});
		},
		change: function(event, ui) {
			if(ui.item==null){
				$('#PacienteAdminDeServDeSaludId').val(0);
			}
			else
			{
				$('#PacienteAdminDeServDeSaludId').val(ui.item.codigo);
			}
			
		}
		});
	
	//Cambio de la lista de municipios dependiendo de la selecciòn de departamento.
	$('#PacienteCodigoDepartamento').change(function(){
		$('#PacienteNombreDireccion').val("");
		var id=$(this).val();
		$.ajax({
			url: app_path+"/Lugars/buscarLista",
			type: "POST",
			dataType: "html",
			data: "data[parent_id]="+id+"&data[tipo_de_lugar]=3", //Haga una lista de los lugares cuyo parent_id es el valor de la opciòn seleccionada actualmente y cuyo tipo de lugar sea 3 , es decir que sean municipios.
			success: function(data) {
						$('#PacienteCodigoMunicipio').html(data);
						$('#PacienteCodigoMunicipio').val(0);
					}
				});
		$('#PacienteLugarId').val($(this).val());
			
		});
	$('#PacienteCodigoMunicipio').change(function(){
		$('#PacienteLugarId').val($(this).val());
		$('#PacienteNombreDireccion').val("");
	});
	//Hagamos más bonito el botón de submit
	$('#Siguiente').button({ icons: {primary:'ui-icon-circle-arrow-e'} });
	$('#Siguiente').click(function(){$("#PacienteAddForm").submit();});

	$('#Cancelar').button({ icons: {primary:'ui-icon-circle-close'} });
	$('#Cancelar').click(function(){
		//TODO: Definir que hace el botón cancelar.
		});
	$('#PacienteNombreDireccion').change(function(){
		$('#PacienteLugarId').val(0);// Ponga en 0 el lugar_id para indicar que no existe un lugar en la base de datos y debe crearse uno para este caso.
	});		
}		
				
				
			
